home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PCMania 30
/
PCMania CD30.iso
/
postumum
/
pcapsys
/
carg_asm.asm
< prev
next >
Wrap
Assembly Source File
|
1994-11-20
|
3KB
|
90 lines
.286 ; Alguna instruccion de 286
Datos Segment
Nombre db 'IMAGEN1.PIC',0
Handle dw ?
MsgMal db 'Error: No se encontro el fichero o no se pudo abrir!',13,10,'$'
Credits db 254,' This one coded by BAUBER of POSTUMUM',10,13,'$'
Paleta db 768 dup(0)
Datos Ends
Codigo Segment
Assume Cs:Codigo, Ds:Datos
PonPal Proc Near
Mov Si,offset Paleta
Mov al,0
Mov Dx,3c8h
Out Dx,al
Inc Dx
Mov Cx,768
Rep Outsb
Ret
PonPal Endp
Start:
Mov Ax,Seg Datos
Mov Ds,Ax
Mov Ah,3dh ; Abrir un fichero
Mov Al,0 ; Modo de apertura: Solo Lectura
Mov Dx,Offset Nombre ; Nombre del fichero a abrir
Int 21h ; Abrirlo!
Jnc OkApertura
Mov Dx,Offset MsgMal
Jmp Fin
OkApertura:
Mov Ds:[Handle],Ax
Mov Ax,13h
Int 10h ; VGA 320x200x256
Call PonPal ; Paleta a negro
Mov Bx,Ds:[Handle]
Mov Dx,Offset Paleta
Mov Ah,3fh
Mov Cx,768 ; Cargar primero la paleta
Int 21h
Mov Bx,Ds:[Handle]
Push Ds ; Guardamos provisionalmente DS
Mov Ax,0a000h ; Direccion de video
Mov Ds,Ax
Mov Ah,3fh
Mov Cx,64000 ; Cargarmos la pantalla
Mov Dx,0
Int 21h
Pop Ds ; Recuperamos DS
Mov Bx,Ds:[Handle]
Mov Ah,3eh ; Cerrar El fichero
Int 21h
Call PonPal ; Ponemos ahora la paleta correcta
Mov Ax,0
Int 16h ; Esperamos una tecla...
Mov Ax,3
Int 10h ; VGA TXT 80x25x16
Mov Dx,Offset Credits
Fin:
Mov Ah,09
Int 21h ; imprimir mensaje....
Mov Ax,4c00h
Int 21h ; Salir al DOS
Codigo Ends
End Start